﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using DAO;
using Domain;
using Microsoft.Practices.EnterpriseLibrary.Validation;


public partial class m_PublicacionData : System.Web.UI.Page
{
    public long? id
    {
        get
        {
            long l = 0;
            if (Request.QueryString["id"] == null ||
               !long.TryParse(Request.QueryString["id"], out l) ||
               l <= 0)
                return null;
            return l;
        }
    }

    public string prev
    {
        get
        {
            string pag = string.Empty;
            try
            {
                pag = Request.UrlReferrer.Segments[2].ToString();
            }
            catch { }

            if (pag.Trim() == "m_login.aspx")
                pag = string.Empty;

            if (string.IsNullOrEmpty(pag))
            {
                return "{ url: '" + Utils.SecureRedirect("m_ManageSuscripciones_Mias.aspx") + "' , caption: 'Atrás' } ";
            }

            return "{ url: '', caption: 'Atrás' } ";
        }
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (id.HasValue)
            {
                cargarDatos(id.Value);
            }
        }
    }

    private void cargarDatos(long id)
    {
        Usuario usr = ((Usuario)Utils.operadorLogueado);
        if (usr.AsociacionesActivas.Exists(delegate(Asociacion a) { return a.IdPublicidad == id; }))
        {
            btn_Asociaciar.Visible = false;
            btn_DesAsociaciar.Visible = true;
        }
        else
        {
            btn_Asociaciar.Visible = true;
            btn_DesAsociaciar.Visible = false;
        }

        Publicacion pub = PublicacionDAO.Traer(id, null, null).First();
        if (pub.Estado != Publicacion.enum_Publicacion_Estado.Publicada)
        {
            btn_Asociaciar.Enabled = false;
            btn_DesAsociaciar.Enabled = false;
        }
            

        // conf
        lbl_nropublicacion.Text = pub.Id.ToString();
        lbl_descripcion.Text = pub.Descripcion;

        img_logo.ImageUrl = Utils.imageHandlerPath(pub.Logo, pub is Empresa);
        img_logo.Attributes.Add("id", pub.Logo.HasValue ? pub.Logo.Value.ToString() : "");

        lbl_fcaducacion.Text = pub.FechaCaducidad.HasValue ? pub.FechaCaducidad.Value.ToString("dd/MM/yyyy") : string.Empty;

        // data
        div_contenido.InnerHtml = Server.HtmlDecode(pub.UltimaRevision.Datos);

        if (pub.FechaCaducidad.HasValue &&
           pub.FechaCaducidad <= DateTime.Now)
        {
            lbl_fcaducacion.Enabled = false;
        }
    }

    protected void btn_Asociaciar_Click(object sender, EventArgs e)
    {
        ul_mensajes.InnerHtml = string.Empty;

        Utils.operadorLogueado = UsuarioDAO.AsociarPublicacion((Usuario)Utils.operadorLogueado, id.Value);
        ul_mensajes.InnerHtml += "<li class='itemok'>" + "Ahora estás siguiendo a " + lbl_descripcion.Text + "</li>";
        cargarDatos(id.Value);
    }
    protected void btn_DesAsociaciar_Click(object sender, EventArgs e)
    {
        ul_mensajes.InnerHtml = string.Empty;
        Utils.operadorLogueado = UsuarioDAO.DesasociarPublicacion((Usuario)Utils.operadorLogueado, id.Value);
        cargarDatos(id.Value);
    }
}
